package com.zbkj.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.zbkj.dal.entity.ba.Recycle;
import com.zbkj.dal.pojo.request.PageParamRequest;
import com.zbkj.dal.pojo.request.ba.ConcludeRecycleRequest;
import com.zbkj.dal.pojo.request.ba.RecycleQueryRequest;
import com.zbkj.dal.pojo.request.ba.RecycleRequest;
import com.zbkj.dal.pojo.response.ba.MyRecycleResponse;
import com.zbkj.dal.pojo.response.ba.RecycleDetailResponse;
import com.zbkj.dal.pojo.response.ba.RecycleResponse;
import com.zbkj.service.model.front.req.recycle.SupplyApplyReq;

import java.util.List;

/**
 * <p>
 * 回收寄卖 服务类
 * </p>
 *
 * @author jhui
 * @since 2023-10-03
 */
public interface RecycleService extends IService<Recycle> {

    /**
     * 我的回收寄卖订单
     * @param status
     * @param pageParamRequest
     * @return
     */
    List<MyRecycleResponse> listMyRecycle(Integer status, PageParamRequest pageParamRequest);

    /**
     * 删除我的回收寄卖信息
     * @param id
     * @return
     */
    Boolean deleteMyRecycle(Integer id);

    /**
     * 创建共享信息
     * @param recycleRequest
     * @return
     */
    Boolean create(RecycleRequest recycleRequest);

    /**
     * 分页查询共享信息
     * @param recycleQueryRequest
     * @return
     */
    PageInfo<RecycleResponse> queryRecyclePaged(RecycleQueryRequest recycleQueryRequest, PageParamRequest pageParamRequest);

    /**
     * 创建商品
     * @param id
     * @return
     */
    boolean createProduct(Integer id);

    /**
     * 商品详情
     * @param id
     * @return
     */
    RecycleDetailResponse detail(Integer id);

    /**
     * 判定结果
     * @param concludeRecycleRequest
     */
    boolean conclude(ConcludeRecycleRequest concludeRecycleRequest);

}
